#ifndef CLIENTE_H_
#define CLIENTE_H_

#include <cstring>
#include <string>
#include <iostream>
#include <vector>
#include "Mensajes.h"
#include "Cola.h"
#include "Util.h"

using namespace std;

class Cliente {

	private:
		Cola<MensajeSalas>* colaMensajeSalas;
		Cola<MensajeUsuarios>* colaMensajeUsuarios;
		Cola<MensajeNuevoCliente>* colaMensajeNuevoCliente;
		Cola<MensajeConectarASala>* colaMensajeConectarASala;
		Cola<MensajeNuevoMensaje>* colaMensajeNuevoMensaje;
		int idCliente;
		int idSala;
		char apodo[STRING_SIZE];

	public:
		Cliente(string archivo, char letra);
		virtual ~Cliente();
		vector<string> enviarPeticionListaDeSalas();
		vector<string> enviarPeticionListaDeUsuarios();
		bool enviarPeticionClienteNuevo(string apodo);
		bool enviarPeticionConectarASala(int idSala, string nombreSala);
		string recibirMensaje();
		void enviarMensaje(string mensaje);

};

#endif /* CLIENTE_H_ */
